#pragma once
#ifndef __DATATYPES_H__
#define __DATATYPES_H__

typedef unsigned char uint8; // 0 - 255
typedef unsigned short uint16; // 0 - 65535
typedef unsigned int uint32; // 0 - 4294967295
typedef unsigned long long uint64; // 0 - 18,446,744,073,709,551,615

typedef signed char int8; // -128 - 127
typedef signed short int16; // -32768 - 32767
typedef signed int int32; // -2147483648 to 2147483647
typedef signed long long int64; // -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807s

// Various math constants/macros
#define M_PI 3.14159265358979323846
#define DEGTORAD(a) ((a)*(M_PI/180))
#define RADTODEG(a) ((a)*(180/M_PI))

#define kStrBufferLen_Tiny      16
#define kStrBufferLen_Small     32
#define kStrBufferLen_Medium    128
#define kStrBufferLen_Large     256
#define kStrBufferLen_VeryLarge 512
#define kStrBufferLen_Massive   1024

#endif